1. Field of the Invention
The present invention relates to computer network architectures, and, more specifically, to software for managing computer and communications networks. More particularly, the present invention provides software, systems and apparatus -for managing software and hardware entities over a computer network. The present invention has applications in the areas of computer science, computer network management, and computer software.
2. The Related Art
The demands on computer network managers have grown exponentially as the size and extensiveness of computer networks has grown over the past decade. Starting from the relatively simple task of maintaining communication among a relatively small number of mainframe computers, network managers must now coordinate operations among thousands of computers, printers, servers, and other networked devices. With the advent of the Java.RTM. and Jini.TM. programming languages, even household devices will soon become linked over computer networks running on household "intranets" that in turn are linked to the worldwide Internet. Thus, there appears to be no end in sight to the increasing burden on network managers.
To control and coordinate the software associated with the myriad of networked computers and other devices, network managers employ software designed to track, establish communications with, and control various software entities or processes that exist independently or represent the networked devices. Entities that represent networked devices are also referred to herein as "agents". The software used by the network manager interacts with various "platform-level" software services to enable the network manager to locate and interact with the various entities running on the network. Typically all communications between the network manager and the entities running on the network, as well as communications between entities, are managed by a central service.
The entities on the network can communicate among each other and the network manager by sending and receiving messages. Messages can be requests, responses, or events. In particular, some events may be alarms (e.g., a warning of a communications failure or other error state). Generally, when a device or software entity on the network is in an error state it sends a stream of alarms to the network management software indicating the error state. The network management software processes and logs the alarms. However, the volume of alarms processed by the network management software can be great for large computer networks even when few or no error messages are being generated. This volume can slow system performance dramatically and in certain situations may create a processing bottleneck sufficient to cause one or more network management components to fail. Such decreased performance and risks are not acceptable for large-scale networks that must be available twenty-four hours a day, seven days a week.
Therefore, it would be beneficial to provide systems, methods, and software for a computer network management architecture such that large numbers of events can be processed, and the network will perform acceptably even if a central piece of the network management software fails. The present invention meets these and other needs